<?php



/**

 * ECSHOP Google sitemap 类

 * ============================================================================

 *  版权所有 2015-2018 科技有限公司，并保留所有权利。

 * 网站地址: #;

 * ----------------------------------------------------------------------------

 * 仅供学习交流使用，如需商用请购买正版版权。不承担任何法律责任。

 * 踏踏实实做事，堂堂正正做人。

 * ============================================================================

 * $Author: derek $

 * $Id: cls_google_sitemap.php 17217 2011-01-19 06:29:08Z derek $

*/



if (!defined('IN_ECS'))

{

    die('Hacking attempt');

}



class google_sitemap

{

    var $header = "<\x3Fxml version=\"1.0\" encoding=\"UTF-8\"\x3F>\n\t<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">";

    var $charset = "UTF-8";

    var $footer = "\t</urlset>\n";

    var $items = array();



    /**

     * 增加一个新的子项

     *@access   public

     *@param    google_sitemap  item    $new_item

     */

    function add_item($new_item)

    {

        $this->items[] = $new_item;

    }



    /**

     * 生成XML文档

     *@access    public

     *@param     string  $file_name  如果提供了文件名则生成文件，否则返回字符串.

     *@return [void|string]

     */

    function build( $file_name = null )

    {

        $map = $this->header . "\n";



        foreach ($this->items AS $item)

        {

            $item->loc = htmlentities($item->loc, ENT_QUOTES);

            $map .= "\t\t<url>\n\t\t\t<loc>$item->loc</loc>\n";



            // lastmod

            if ( !empty( $item->lastmod ) )

                $map .= "\t\t\t<lastmod>$item->lastmod</lastmod>\n";



            // changefreq

            if ( !empty( $item->changefreq ) )

                $map .= "\t\t\t<changefreq>$item->changefreq</changefreq>\n";



            // priority

            if ( !empty( $item->priority ) )

                $map .= "\t\t\t<priority>$item->priority</priority>\n";



            $map .= "\t\t</url>\n\n";

        }



        $map .= $this->footer . "\n";



        if (!is_null($file_name))

        {

            return file_put_contents($file_name, $map);

        }

        else

        {

            return $map;

        }

    }



}



class google_sitemap_item

{

    /**

     *@access   public

     *@param    string  $loc        位置

     *@param    string  $lastmod    日期格式 YYYY-MM-DD

     *@param    string  $changefreq 更新频率的单位 (always, hourly, daily, weekly, monthly, yearly, never)

     *@param    string  $priority   更新频率 0-1

     */

    function google_sitemap_item($loc, $lastmod = '', $changefreq = '', $priority = '')

    {

        $this->loc = $loc;

        $this->lastmod = $lastmod;

        $this->changefreq = $changefreq;

        $this->priority = $priority;

    }

}



?>